#ifndef HMATH_H
#define HMATH_H
#include "Vector3.h"

// PI & co
const float PI = 3.14159265f;
const float TwoPi = 6.28318531f;
const float TwoPiOver3 = 2.09439510f;
const float ThreePiOver2 = 4.71238898f;
const float PiOver2 = 1.57079633f;
const float PiOver4 = 0.785398163f;
const float PiOver8 = 0.392699082f;
// more PI variables that have a little margin added to prevent little errors when compared
const float PiOver2Plus = PiOver2 + 0.05f;
const float PiOver4Plus = PiOver4 + 0.05f;
const float PiOver2Minus = PiOver2 - 0.05f;
const float PiOver4Minus = PiOver4 - 0.05f;

const float RadiansToDegreesFactor = 180.0f / PI;

const float ZERO_TOLERANCE = 0.001f;

class hMath
{
public:
	static Vector2 getDirectionOfAngle(float angle);
	static float getAngleOfDirection(const Vector2 &dir);
    static float blend(float _fFrom, float _fTo, float _fSpeed);
    static Vector4 blend(Vector4 _fFrom, Vector4 _fTo, float _fSpeed);
};
#endif